#pragma once


#include "Pages/EditorPageViewModel.h"
#include "EditorPackagePageModel.h"
#include "EditorPackagePageViewModel.m.h"

class RTexture2D;
class RProcess;

RCLASS()
class REditorPackagePageViewModel : public REditorPageViewModel
{
    ROBJECT

public:
    virtual void BindModel(TSharedObjectPtr<REditorPageModel> InModel) override;
    virtual TSharedObjectPtr<RTexture2D> GetIcon() const override;
    virtual CString GetTitle() const override;
    
    CString GetPlatform() const;
    
    void SetOutputPath(const CString& InOutputPath);
    CString GetOutputPath() const;
    void DeleteItemInOutputFolder();

    void Package();
protected:
    TWeakObjectPtr<REditorPackagePageModel> Model;

    TSharedObjectPtr<RTexture2D> Icon;

    TSharedObjectPtr<RProcess> PackageProcess;

};
